﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bdcs.Core.Entity
{
    /// <summary>
    /// Base_CELLInfo数据模型对象
    /// </summary>
    [Serializable]
    public partial class Base_CELLInfoMod
    {
        /// <summary>
        /// 初始化Base_CELLInfo数据模型对象
        /// </summary>
        public Base_CELLInfoMod()
        {
            
        }
        /// <summary>
        /// 初始化Base_CELLInfo数据模型对象并给在SQL中不能为空的字段赋值
        /// </summary>
        /// <param name="iD">ID</param>
        /// <param name="mcc">mcc</param>
        /// <param name="mnc">mnc</param>
        /// <param name="mbig">mbig</param>
        /// <param name="msmall">msmall</param>
        /// <param name="cTime">cTime</param>
        public Base_CELLInfoMod(string iD,int mcc,int mnc,int mbig,int msmall,DateTime cTime)
        {
            //给ID字段赋值
            this.ID = iD;
            //给mcc字段赋值
            this.Mcc = mcc;
            //给mnc字段赋值
            this.Mnc = mnc;
            //给mbig字段赋值
            this.Mbig = mbig;
            //给msmall字段赋值
            this.Msmall = msmall;
            //给cTime字段赋值
            this.CTime = cTime;
        }
        /// <summary>
        /// 初始化Base_CELLInfo数据模型对象并给所有字段赋值
        /// </summary>
        /// <param name="iD">ID</param>
        /// <param name="mcc">mcc</param>
        /// <param name="mnc">mnc</param>
        /// <param name="mbig">mbig</param>
        /// <param name="msmall">msmall</param>
        /// <param name="lati">Lati</param>
        /// <param name="remark">Remark</param>
        /// <param name="radius">radius</param>
        /// <param name="vState">vState</param>
        /// <param name="longi">Longi</param>
        /// <param name="cTime">cTime</param>
        public Base_CELLInfoMod(string iD,int mcc,int mnc,int mbig,int msmall,decimal? lati,string remark,int? radius,int? vState,decimal? longi,DateTime cTime)
        {
            //给ID字段赋值
            this.ID = iD;
            //给mcc字段赋值
            this.Mcc = mcc;
            //给mnc字段赋值
            this.Mnc = mnc;
            //给mbig字段赋值
            this.Mbig = mbig;
            //给msmall字段赋值
            this.Msmall = msmall;
            //给Lati字段赋值
            this.Lati = lati;
            //给Remark字段赋值
            this.Remark = remark;
            //给radius字段赋值
            this.Radius = radius;
            //给vState字段赋值
            this.VState = vState;
            //给Longi字段赋值
            this.Longi = longi;
            //给cTime字段赋值
            this.CTime = cTime;
        }
        
		//属性存储数据的变量
        private string _iD;
        private int _mcc;
        private int _mnc;
        private int _mbig;
        private int _msmall;
        private decimal? _lati;
        private string _remark;
        private int? _radius;
        private int? _vState;
        private decimal? _longi;
        private DateTime _cTime;
        
        /// <summary>
        /// ID
        /// </summary>
        public string ID
        {
            get { return this._iD; }
            set { this._iD = value; }
        }
        /// <summary>
        /// mcc
        /// </summary>
        public int Mcc
        {
            get { return this._mcc; }
            set { this._mcc = value; }
        }
        /// <summary>
        /// mnc
        /// </summary>
        public int Mnc
        {
            get { return this._mnc; }
            set { this._mnc = value; }
        }
        /// <summary>
        /// mbig
        /// </summary>
        public int Mbig
        {
            get { return this._mbig; }
            set { this._mbig = value; }
        }
        /// <summary>
        /// msmall
        /// </summary>
        public int Msmall
        {
            get { return this._msmall; }
            set { this._msmall = value; }
        }
        /// <summary>
        /// Lati
        /// </summary>
        public decimal? Lati
        {
            get { return this._lati; }
            set { this._lati = value; }
        }
        /// <summary>
        /// Remark
        /// </summary>
        public string Remark
        {
            get { return this._remark; }
            set { this._remark = value; }
        }
        /// <summary>
        /// radius
        /// </summary>
        public int? Radius
        {
            get { return this._radius; }
            set { this._radius = value; }
        }
        /// <summary>
        /// vState
        /// </summary>
        public int? VState
        {
            get { return this._vState; }
            set { this._vState = value; }
        }
        /// <summary>
        /// Longi
        /// </summary>
        public decimal? Longi
        {
            get { return this._longi; }
            set { this._longi = value; }
        }
        /// <summary>
        /// cTime
        /// </summary>
        public DateTime CTime
        {
            get { return this._cTime; }
            set { this._cTime = value; }
        }
        
        /// <summary>
        /// 对比两个Base_CELLInfo数据模型对象是否一致
        /// </summary>
        /// <param name="obj">要进行比对的Base_CELLInfo数据模型对象</param>
        /// <returns>返回是否一致，为true一致，为false不一致</returns>
        public override bool Equals(object obj)
        {
            //判断传入对象是否为null
            if (obj == null) return false;
            //将传入对象转换成Base_CELLInfo数据模型对象
            Base_CELLInfoMod base_CELLInfoMod = obj as Base_CELLInfoMod;
            //判断是否转换成功
            if (base_CELLInfoMod == null) return false;
            //进行匹配属性的值
            return
                //判断ID是否一致
                this.ID == base_CELLInfoMod.ID &&
                //判断mcc是否一致
                this.Mcc == base_CELLInfoMod.Mcc &&
                //判断mnc是否一致
                this.Mnc == base_CELLInfoMod.Mnc &&
                //判断mbig是否一致
                this.Mbig == base_CELLInfoMod.Mbig &&
                //判断msmall是否一致
                this.Msmall == base_CELLInfoMod.Msmall &&
                //判断Lati是否一致
                this.Lati == base_CELLInfoMod.Lati &&
                //判断Remark是否一致
                this.Remark == base_CELLInfoMod.Remark &&
                //判断radius是否一致
                this.Radius == base_CELLInfoMod.Radius &&
                //判断vState是否一致
                this.VState == base_CELLInfoMod.VState &&
                //判断Longi是否一致
                this.Longi == base_CELLInfoMod.Longi &&
                //判断cTime是否一致
                this.CTime == base_CELLInfoMod.CTime;
        }
        /// <summary>
        /// 将当前Base_CELLInfo数据模型对象转换成哈希码
        /// </summary>
        /// <returns>哈希值</returns>
        public override int GetHashCode()
        {
            //将Base_CELLInfo数据模型对象的属性进行按位异或运算处理得到哈希码并返回
            return
                //将ID进行按位异或运算处理
                (this.ID == null ? 2147483647 : this.ID.GetHashCode()) ^
                //将mcc进行按位异或运算处理
                this.Mcc.GetHashCode() ^
                //将mnc进行按位异或运算处理
                this.Mnc.GetHashCode() ^
                //将mbig进行按位异或运算处理
                this.Mbig.GetHashCode() ^
                //将msmall进行按位异或运算处理
                this.Msmall.GetHashCode() ^
                //将Lati进行按位异或运算处理
                (this.Lati == null ? 2147483647 : this.Lati.GetHashCode()) ^
                //将Remark进行按位异或运算处理
                (this.Remark == null ? 2147483647 : this.Remark.GetHashCode()) ^
                //将radius进行按位异或运算处理
                (this.Radius == null ? 2147483647 : this.Radius.GetHashCode()) ^
                //将vState进行按位异或运算处理
                (this.VState == null ? 2147483647 : this.VState.GetHashCode()) ^
                //将Longi进行按位异或运算处理
                (this.Longi == null ? 2147483647 : this.Longi.GetHashCode()) ^
                //将cTime进行按位异或运算处理
                this.CTime.GetHashCode();
        }
        /// <summary>
        /// 将当前Base_CELLInfo数据模型对象转换成字符串副本【仅显示在SQL中不能为空的列】
        /// </summary>
        /// <returns>字符串形式副本</returns>
        public override string ToString()
        {
            //将当前Base_CELLInfo数据模型对象转换成字符串副本
            return
                "[" +
                //将ID转换成字符串
                this.ID + "," +
                //将mcc转换成字符串
                this.Mcc + "," +
                //将mnc转换成字符串
                this.Mnc + "," +
                //将mbig转换成字符串
                this.Mbig + "," +
                //将msmall转换成字符串
                this.Msmall + "," +
                //将cTime转换成字符串
                this.CTime +
                "]";
        }
    }
}
